package com.IntelligentCommunity.community.domain;

import com.IntelligentCommunity.common.core.annotation.Excel;
import com.IntelligentCommunity.common.core.web.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 实有人口统计对象 real_population
 *
 * @author zzpjx
 * @date 2024-07-19
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class RealPopulation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键，唯一标识 */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 性别 */
    @Excel(name = "性别")
    private Long gender;

    /** 图片 */
    @Excel(name = "图片")
    private String picture;

    /** 年龄 */
    @Excel(name = "年龄")
    private Long age;

    /** 身份证号码 */
    @Excel(name = "身份证号码")
    private String idCardNumber;

    /** 户籍所在地居住地址 */
    @Excel(name = "户籍所在地居住地址")
    private String residenceAddress;

    /** 登记时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "登记时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date registrationDate;

    /** 电话 */
    @Excel(name = "电话")
    private String iphone;

    /** 民族 */
    @Excel(name = "民族")
    private String nation;

    /** 单位 id */
    @Excel(name = "小区 id")
    private Long districtId;
    private String communityName;
    private Integer pageNum;
    private Integer pageSize;
    @Excel(name = "人员类型" , readConverterExp = "1=户籍人员,2=外来人员,3= 境外人员")
    private Integer populationTypeId; // 人员类型id
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", shape = JsonFormat.Shape.STRING, timezone = "Asia/Shanghai")
    private Date lastTime;
    private String populationTypeName;
    private String labelNames;
    private Integer labelId;
    private Integer stats;
    //楼栋
    private Integer ridgepole;
    //单元
    private Integer element;
    //户
    private Integer households;
    // 人员标签 定义一个数组 名称是labelIds
    private Long[] labelIds;

}
